package com.qf.dao;

import com.qf.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Mybatis 操作 UserDao
 * @author lixu
 */
public interface UserDao {


    /**
     * 1、Dao层的方法名要与Mapper文件中select 的id保持一致
     * 2、Dao层的方法返回值类型 必须与Mapper文件中查询的结果类型保持一致
     * 3、namespace="com.qf.dao.UserDao" : 关联 UserDao接口与User.xml文件之间关系
     */
    public List<User> findUserById();

    //添加用户
    int insertUser(User user);

    //修改用户
    int updateUser(User user);

    //删除用户
    int deleteById(int id);

    //复杂查询
    List<User> findUserByNameAndBirthdayAndSexAndLimit(User user);
    //复杂查询@Param("name"):我们自定义名称
    List<User> findUserListByNameAndSex(@Param("name") String name, @Param("sex") String sex);
    //复杂查询  模糊查询
    List<User> findUserListByNameLike(String name);

    //保存  主键回填
    void insertUserReturnId(User user);
}
